Consumers and content developers are becoming increasingly interested in producing and receiving content (e.g., audio, video, software, etc.) in digital form. Technologies for producing and distributing digital information in large quantities and across long distances have therefore been developed. Such technologies have enabled content providers to reach unprecedented numbers of consumers in a cost effective manner and, in turn, have provided consumers with unprecedented access to large amounts of digital information.
Because digital information may be easily copied and distributed, digital rights management (DRM) protocols have been developed to protect digital information as it is transmitted to, stored on, and consumed by an electronic device. In many instances a DRM protocol may protect digital information by encrypting it with an encryption key prior to transmission to an electronic device. Consumers wishing to access the digital information may only conveniently do so if their device possesses an appropriate decryption key. Although such DRM protocols can be effective, many consumer devices maintain DRM decryption keys in unsecured memory. This may allow a hacker or other entity to easily obtain the decryption key(s), bypass the DRM protocol, and gain unauthorized access to the digital information.
To further harden the security of digital information, some content providers employ hardware (HW) DRM protocols to protect their digital information. A HW DRM protocol may require devices that are to consume digital information produced by a content provider to include a hardware DRM module. The content provider may require the hardware DRM module to be specifically configured to include hardware and/or software resources that support a defined set of DRM protocols, which may also be specified the content provider. Although effective, the usefulness of a hardware DRM protocol is limited by the fact that a hardware DRM module has limited resources which are specifically designed to support specific DRM protocols.
Indeed because of its design and/or limited resources, it may be difficult or impossible for a hardware DRM module to execute DRM protocols other than those it was specifically designed to support. This presents a usability issue, particularly when DRM protocols change and/or multiple content providers wish to use different DRM protocols to protect their content. This can also present a usability issue with respect to the protection of content that may be created by a client device, where different DRM protocols may be preferred by different users and/or required to protect content produced from different sources.